home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Floppyshop 2
/
Floppyshop - 2.zip
/
Floppyshop - 2.iso
/
art&graf.ix
/
art-6006
/
3dp_info
/
3dp_info.doc
next >
Wrap
Text File
|
1997-04-15
|
9KB
|
225 lines
3DP : Créateur de fonction à trois dimensions pour POV2.
By Rudelli Paolo 26/09/1994 Version 0.9
-Introduction:
3DP c'est un programme qui calcule une fonction en trois dimensions
de la forme z = F(x,y).
Le résultat est affiche à l'écran par rapport à la position de la
camera.
Si vous le désirez vous pouvez sortir le résultat sous forme de ficher
TGA pour l'utiliser comme "height_fields" dans POV2.
Vous pouvez aussi créer un fichier qui sera directement utilisable a
l'intérieur d'un script pour POV avec les dimensions de l'objet, et
les paramètres pour la position de la camera.
- Fenêtre "Parametres":
Dans cette fenêtre vous trouvez les éléments suivants:
- un champ éditable pour rentrez votre fonction.
- un bouton pour un popup-menu pour choisir les sub-fonctions.
- les champs éditables pour introduire les limites en x,y et z.
- un bouton pour choisir le calcule automatique des limites en z.
- deux champs éditables pour définir les intervalles en x et y.
Pour vos fonctions vous pouvez utiliser les fonctions mathématiques
suivantes:
| nom | description | exemples
+-----------+--------------------------------------+--------------------
| abs() | valeur absolue | abs(3)= 3
| | | abs(-4)= 4
| int() | valeur entière (plus grand entier | int(1.61)= 1
| | inférieur) | int(-1.61)= -2
| ipart() | partie entière (troncature) | ipart(1.61)= 1
| | | ipart(-1.61)= -1
| exp() | fonction exponentielle, ou e^x | exp(0)= 1
| ln() | fonction logarithme népérien (base e)| ln(1)= 0
| | | ln(e)= 1
| log() | fonction logarithme base 10 | log(1)= 0
| | | log(10)= 1
| sqr() | racine carrée | sqr(4)= 2
| cos() | cosinus | cos(0)= 1
| sin() | sinus | sin(0)= 0
| tan() | tangente | tan(0)= 0
| cot() | cotangente | cot(PI/2)=0
| sinh() | sinus hyperbolique | sinh()=
| cosh() | cosinus hyperbolique | cosh()=
| tanh( | tangente hyperbolique | tanh()=
| asin() | arc sinus | asin(1)=PI/2
| acos() | arc cosinus | acos(0)=PI/2
| atan() | arc tangente | atan(PI/2)=1
| sgn() | signe de x | sgn(7)= 1
| | | sgn(-2)= -1
| pos() | valeur positive | pos(8)= 8
| | | pos(-3)= 0
| hyp(,) | hypothénuse de x,y ou sqr(x^2+y^2) | hyp(3,4)= 5
| angle(,) | angle formé entre le point spécifié | angle(0,1)= PI/2
| | et l'axe des x |
| pow(,) | x à la puissance y | pow(3,3)= 27
| mod(,) | x modulo y, ou reste de la division | mod(33,10)= 3
| | de x par y |
|rnd() | numéro casuel entre 0 et x | 0<=rnd(x)<x
| =(,) | x égal à y: 1 si vrai, 0 si faux | =(2,-7)= 0
| <(,) | x supérieur à y: idem | <(2,-7)= 0
| >(,) | x inférieur à y: idem | >(2,-7)= 1
et les signe +,-,*,/,^ (puissance).
Attention le signe ^ n'as pas de priorité sur les signes * et /,
par contre ces trois derniers ont priorité normale sur + et -.
Donc attention a 2*x^2 est diffèrent de 2*(x^2).
Tous les angles sont en radiants.
Attention au suivantes particularités:
x/0 = VERY_LARGE*sgn(x) (un numéro très très grand);
Si x<0
ln(x) = 0
log(x) = 0
sqr(x) = 0
Attention l'orthographe des fonctions n'est pas vérifiée dans sa
totalité.
Le calcule est fait par rapport à la fonction contenue en A.
Pour utiliser les sub-fonctions il faut simplement les nommer a
l'intérieur d'autres fonctions par leur nom (en majuscule).
Exemple : A = B+C pour B=x et C=y.
Attention à ne pas créer un situation du style:
A = B et B = A
car vous auriez tout de suite une erreur de "stack"
(Je travaille pour que le programme il le vérifie tout seul)
L ' options du calcul automatique en Z sert si vous voulez coupe une
fonction à une certaine hauteur.(Voir l'exemple TRUNC.3DP)
- Fenêtre Camera :
Dans cette fenêtre vous définissez la position de la camera,
le point ou elle est dirige et le son zoom.
Le résultat que vous voyez est très proche à celui que vous obtenez
dans POV si vous utilisez le fichier de sortie crée par 3DP.
- Fenêtre Labels :
Dans cette fenêtre on définit le nom de l'objet à utiliser dans POV et
sa texture associée.
- Le Fichier TGA
Les files en sortie de 3DP avec l'extension TGA ils doit être utilise
à l'intérieur de POV2 comme Hight field.
Ils utilisent les couleur rouge et verte donc ont 65536 niveaux
différents.
Attention: Par fois quand j'utilise la fonction smooth dans POV2
il y a des problème mais peut être c'est parce que j'ai un vieille
version de POV2 (1.32).
- Le Fichier INC
Les fichier avec extension INC contienne beaucoup d'information
indispensable et utile :
Les limites en X, Y et Z.
Les dimensions de l'objet crée.
Les résolutions en X et Y du fichier TGA.
Une déclaration de l'objet place et "scale" correctement.
Une déclaration de la camera avec la vue que vous avez dans 3DP.
Regarde les exemples pour avoir un idée plus précise de
l'utilisation des toutes cette informations.
Attention : Dans le fichier INC il y a une inversion entre Y et Z
par rapport a ce que vous avez rentre dans 3DP.
Ce la est au fait que 3DP traville avec un système de coordonne
appeles "Left-handed" et normalement dans POV on utilise le système
appele "Right-handed".
- Pourquoi 3DP_FAST:
Dans le programme GEM le calcule ne bloque pas l'ordinateur pour
profiter de MultiTOS, mais cela au dépend de son efficacité en terme
de vitesse.
Donc j'ai pense de créer 3DP_FAST pour aller plus vite.
Après que vous avez créé la fonction avec le programme sous GEM et
choisi la position de la camera sauvez le fichier 3DP avec les
intervalle en x et y pour les quelles vous désirez la résolution finale
de l'image TGA que vous utiliserez pour votre 'height_field".
Apres avoir quitte le programme, lancez 3DP_FAST ( 0 ou 3 selon votre
machine),et insérez comme paramètres, le nom du fichier 3DP qui contient
la fonction a calculer et le nom des fichiers TGA et INC en sortie
(si ces deux derniers sont omît les noms contenu dans le fichier 3DP
seront utilise).
- Attention version 0.9
Il y a des problèmes sur FALCON avec plus de 16 couleurs avec les
boîtes deplaçables (je pense que la cause vient de la fonction
malloc() de LATTICE C utilisee dans la version 1.84 de BIG)
Si vous placez la camera trop près de l'image il y a des problèmes dans
l'affichage car je n'ai pas eu le temps de ajouter les fonctions de
clipping en 3D.
Il y a beaucoup d'autres petits problèmes qui ne sont pas trop gênant,
mais que j'essaie également de résoudre pour la version 1.00 .
Pour le futur j'ajouterai des nouvelles fonctions tels que les
surfaces cachées, choix des couleurs pour les lignes et le fond,
importations d'un fichier TGA pour une visualisation rapide des
vos 'height_fields" et beaucoup d'autres (pourquoi pas un vrai
modeleur pour POV2).
- SPAGHETTI AL PESTO !
Du basilic...
La version 1.00 risque de sortir dans un moment, car je voyage
beaucoup et je n'ai pas un ST Book ,et malheureusement je n'ai pas
beaucoup de temps pour travailler sur mon FALCON adore.
J'ai tous de même décide de distribue cette version même si elle n'est
pas très "CLEAN" car vous pouvez commencer à faire des très jolies
choses (regardez l'image VISO.TGA).
De l'ail...
Merci beaucoup à tous mes amis surtout à Tania pour ne pas avoir
brûle mon FALCON.
De l'huile d'olive...
Désole cette doc n'est pas très bonne ,mais je suis meilleur
danseur que écrivain.
Italien S.V.P. ...
Ecrive moi pour des conseils, suggestion et "Bug" sur 3DP.
Et j'aime beaucoup les recettes de cuisine.
et surtout n'oublie pas les PIGNONS.
- Mon Adresse.
Rudelli Paolo
Ruelle du lac, 4
CH-1800 Vevey
Suisse.
Ciao Ciao !!!!!!!!!
- fin -